package com.framework.service;

import com.baomidou.mybatisplus.service.IService;
import com.framework.entity.sys.SysAddress;

import java.util.List;

/**
 * 功能描述: 代理商收货地址接口
 *
 * @author ck
 * @date 2018/8/28 19:46
 */
public interface AddressService extends IService<SysAddress> {
	/**
	 *查询个人地址列表
	 * @param token 登录产生的token
	 * @return 地址列表
	 */
	List<SysAddress> queryAddressList(String token);

	/**
	 * 增加
	 * @param address 收货地址对象
	 * @param token 登录产生的token
	 */
	void insertAddress(SysAddress address, String token);

	/**
	 *修改地址
	 * @param address 地址对象
	 * @param token 登录产生的token
	 */
	void updateAddress(SysAddress address, String token);

	/**
	 * 验证地址
	 * @param token 登录人token
	 * @param addressId 主键id
	 * @return 地址对象
	 */
	SysAddress infoAddress(String token, String addressId);


	/**
	 * 设置默认
	 * @param addressId 地址id
	 *
	 */
	void setDefault(String addressId);

	/**
	 * 查询代理商默认收货地址
	 * @param agentId 代理商id
	 * @return 地址对象
	 */
	SysAddress queryDefaultInfo(Long agentId);

	/**
	 * 查询当前人默认收货地址
	 * @param token 登录人token
	 * @return 地址对象
	 */
	SysAddress queryDefaultAddress(String token);

	/**
	 * 根据主键查询
	 * @param addressId 地址id
	 * @return 地址对象
	 */
	SysAddress queryAddressById(String addressId);

	/**
	 * 删除地址
	 * @param addressId 地址id
	 */
	void delAddress(String addressId);

	/**
	 * 查询默认地址，若无则进行设置
	 * @param agentId 合伙人id
	 * @return 地址对象
	 */
	SysAddress checkDefaultAddress(Long agentId);

}

